package thread;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

//上述这几个工厂方法生成的线程池，本质上都是对一个 类 进行的封装，ThreadPoolExecutor这个类
//功能非常丰富，提供了很多参数，标准库上述的几个工厂方法,其实就是给这个类填写了不同的参数用来构造线程池了
public class demo9 {
    public static void main(String[] args) {
        //此处的线程池对象，有一个基本的特点：线程数目是能够动态适应的
        //随着王线程池里面添加任务，这个线程池中的线程会根据需要自动被船建出来
        //创建出来之后也不会着急销毁，会在池子里保留一定的时间，以备随时再使用
        ExecutorService service = Executors.newCachedThreadPool();

        ExecutorService service1 = Executors.newFixedThreadPool(1);
        //固定的，指定创建几个进程


        ExecutorService service2 = Executors.newSingleThreadExecutor();
        //只有一个线程的线程池（用的不多）

        ExecutorService service3 = Executors.newScheduledThreadPool(2);
        //相当于定时器，不是一个扫描线程负责执行任务了，而是有多个线程执行时间到的任务
    }
}
